#pragma once

#include "ITask.h"
#include "IGameState.h"

class GameStateTask : public ITask
{
public:
	virtual ~GameStateTask(){};
	
	bool Start();
	void Update();
	void Stop();

	void PushState( Pointer<IGameState>& gameState );
	void PopState();
protected:
	IGameState::Stack_t m_states;
};